This invention relates to a synchronous controller.
Programmable controllers (PLCs) are coming to be used as control units for factory automation set in a production factory and at a production site. Such a PLC is typically formed by appropriately combining a plurality of various types of units such as a source unit for supplying electric power, a CPU unit for the overall control of the PLC, an input unit for inputting signals from switches and sensors that are positioned at appropriate places of a production apparatus or an equipment of the factory automation, an output unit for transmitting control outputs to actuators, etc. and a communication unit to be connected to a communication network. These units are electrically and mechanically connected together through a connector provided on their side surfaces and are adapted to receive electrical power from the source unit and to transmit and to receive various data.
The control by the CPU unit of a PLC is carried out by cyclically repeating various steps such as taking in signals inputted through the input unit into the I/O memory of the CPU unit (IN-refresh), carrying out logical calculations according to a user program prepared in a preliminarily registered program language (such as the ladder language), transmitting the results of the calculations to the output unit by writing them in the I/O memory (OUT-refresh) and carrying out what is commonly referred to as peripheral processes.
There may be so-called advanced units adapted to carry out intelligent controls among the plurality of unit that comprise a PLC. There are various kinds of advanced units such as process control units having the function of carrying out a dedicated program of a process control (analog control), say, for carrying out a PID control by receiving an analog value such as temperature and motion control units for carrying out a motion control. Motion control units are adapted to control the driving of a plurality of motors, including those for controlling the positioning of an object of a driving system by way of three directions of axes (the x-axis, y-axis and z-axis). What is known as the synchronous controller is another example of motion control unit, having the function of synchronizing the motions of the axes when a multiple-axis control is carried out.
Common examples of synchronous controllers of this type include those with the control function of 2 to 4 axes provided within the controller as described in Japanese Patent Publication Tokkai 2003-202907 and those having the network format to provide a multiple-axis (6 or more axes) control function as described in Japanese Patent Publication Tokkai 2001-331222. The internally contained controller type and the network type may also be of the type of using a common memory and an interrupt signal or a communication command as the means for synchronization.
There have been problems with such conventional devices. For example, when a multiple-axis control is processed by a single main CPU, its control capability depends largely on the processing capability of this main CPU. Thus, if a multiple-axis control of the type that affects the capability of the main CPU is attempted, the capabilities required of the main CPU will quickly increase and it will soon become a very expensive controller. For a user requiring only controls of a smaller number of axes, such a controller would be an overkill.
From the point of view of structure, the method of using a single unit housing to contain the control function results in a large housing because a motor control interface for many axes must be contained, and this will require a large installation space. Especially for a user who requires only controls of a small number of axes, the requirement of a large housing structure is a disadvantage.
If the main CPU of a controller is adapted to carry out the motion control by the network format, furthermore, the data transmission ratio becomes 1:N where N is the number of the motors, etc. for one main CPU and there may be situations where time lags in the data transmission appear among the motors and this may cause mismatching among the axes in the synchronization motion control. Since the communication cycle will increase with the number of axes, the magnitude of mismatching also increases in proportion with the communication cycle.
In the communication network format, synchronization may be attained by transmitting the command value to each axis preliminarily and providing start commands all at once but the process load by the main CPU increases with the number of axes to be controlled and the communication cycle will also increase. Thus, the capability regarding response to external data is adversely affected.